#include<stdio.h>
//数组与数组指针
//数组是连续的内存空间
int main() {
    int arrInt[] = {1, 2, 3, 4}; //注意数组的定义方式跟java的不一样
    //数组的内存地址==数组第一个元素的地址
    printf("arrInt  %p\n", arrInt);
    printf("&arrInt  %p\n", &arrInt);
    printf("&arrInt[0]  %p\n", &arrInt[0]);

    int *arr_p = arrInt;
    printf("数组第一个元素的值  %d\n", *arr_p);
    printf("数组第2个元素的值  %d\n", *(++arr_p));
    int i = 0;

    //当前位置0  对应的地址是：0x16fb92cf0
    // 当前位置1 对应的值是：2
    // 当前位置1 对应的地址是：0x16fb92cf4
    // 当前位置2 对应的值是：3
    // 当前位置2 对应的地址是：0x16fb92cf8
    // 当前位置3 对应的值是：4
    // 当前位置3 对应的地址是：0x16fb92cfc

    //以上说明一个int占用4个字节
    for (i = 0; i < 4; ++i) {
        printf("当前位置%d  对应的值是：%d\n", i, *(arrInt + i));
        printf("当前位置%d  对应的地址是：%p\n", i, (arrInt + i));
    }

    return 0;
}
